<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%--
	6. 和属性相关的方法:

	1). 方法

	void setAttribute(String name, Object o): 设置属性
	Object getAttribute(String name): 获取指定的属性

	Enumeration getAttributeNames(): 获取所有的属性的名字组成的 Enumeration 对象
	removeAttribute(String name): 移除指定的属性

	2). pageContext, request, session, application 对象都有这些方法!
	这四个对象也称之为域对象.

	pageContext: 属性的作用范围仅限于当前 JSP 页面
	request:  属性的作用范围仅限于同一个请求.(在有转发的情况下可以夸页面获取属性值)
	session: 属性的作用范围限于一次会话: 浏览器打开直到关闭称之为一次会话(在此期间会话不失效)
	application: 属性的作用范围限于当前 WEB 应用. 是范围最大的属性作用范围, 只要在一处设置属性, 在其他各处的 JSP 或 Servlet 中都可以获取到.
	--%>
	<% 
		pageContext.setAttribute("pageContextAttr", "pageContextValue");
		request.setAttribute("requestAttr", "requestValue");
		session.setAttribute("sessionAttr", "sessionValue");
		application.setAttribute("applicationAttr", "applicationValue");
	%>
	
	<h2>Attr 111 Page: <%= new Date() %></h2>
	
	<br><br>
	pageContextAttr: <%= pageContext.getAttribute("pageContextAttr") %>
	
	<br><br>
	requestAttr: <%= request.getAttribute("requestAttr") %>

	<br><br>
	sessionAttr: <%= session.getAttribute("sessionAttr") %>	
	
	<br><br>
	applicationAttr: <%= application.getAttribute("applicationAttr") %>
	
	<br><br>
	<a href="attr_2.jsp">To Attr2 Page</a>

	<br><br>
	<a href="testAttr">To Attr Servlet</a>
	
	<% 
		request.getRequestDispatcher("/attr_2.jsp").forward(request, response);
	%>
		
	
</body>
</html>